import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
// import { UserModule } from './system/user/user.module';
import { TypeOrmModule } from '@nestjs/typeorm';
import { ConfigModule } from '@nestjs/config';
// import { RoleModule } from './modules/system/role/role.module';
// import { MenuModule } from './modules/system/menu/menu.module';
// import { AuthModule } from './modules/system/auth/auth.module';
import { AuthGuard } from './modules/system/auth/auth.guard';
import { ApiBearerAuth } from '@nestjs/swagger';
// import { DeptModule } from './modules/system/dept/dept.module';

// import { StudyContentModule } from './modules/studyresources/studycontent/studycontent.module';
// import { StudyContentSortModule } from './modules/studyresources/studycontentsort/studycontentsort.module';
// import { StudyContentSourceModule } from './modules/studyresources/studycontentsource/studycontentsource.module';

// import { ExebookModule } from './modules/questionbank/exebook/exebook.module';

// import { UserErrorModule } from './modules/questionbank/user_error/user_error.module';
import { AutoRegisterModule } from './common/utils/auto-register.util';
// import { TestModule } from './modules/test/test.module';


@Module({
  imports: [
    // TestModule,
    // UserModule,
    ConfigModule.forRoot(),
    TypeOrmModule.forRoot({
      type: 'mysql',
      host: '47.104.162.101',
      port: 3306,

      username: 'root',
      password: '153924',

      database: 'ss_system_management',
      entities: [__dirname + '/**/*.entity{.ts,.js}'],
      synchronize: true, // 在开发环境中使用，生产环境中建议设置为 false
    }),
    // RoleModule,
    // MenuModule,
    // AuthModule,
    // DeptModule,
    // ExebookModule,
    // UserErrorModule,
    // StudyContentModule,
    // StudyContentSortModule,
    // StudyContentSourceModule,
    // TrainingtaskModule,
    AutoRegisterModule.registerModules({
      path: '../../modules', // 自动注册模块的路径
    }),
    
  ],
  controllers: [AppController],
  providers: [
    AppService,
    {
      provide: 'APP_GUARD',
      useClass: AuthGuard, // 全局使用 AuthGuard
    },
  ],
})
export class AppModule {}
